package com.atguigu.headline.dao;

import com.atguigu.headline.pojo.NewsHeadline;
import com.atguigu.headline.pojo.vo.HeadlineDetailVo;
import com.atguigu.headline.pojo.vo.HeadlinePageVo;
import com.atguigu.headline.pojo.vo.HeadlineQueryVo;

import java.util.List;

public interface NewsHeadLineDao {

    /**
     * 根据查询条件,查询当前页数据
     *
     * @param headLineQueryVo
     * @return
     */
    List<HeadlinePageVo> findPageList(HeadlineQueryVo headLineQueryVo);

    /**
     * 根据查询条件,查询满足条件的记录数
     *
     * @param headLineQueryVo
     * @return
     */
    int findPageCount(HeadlineQueryVo headLineQueryVo);

    /**
     * 多表查询新闻详情
     *
     * @param hid 新闻id
     * @return
     */
    HeadlineDetailVo findHeadlineDetail(Integer hid);

    int increasePageViews(Integer hid);

    /**
     * 头条存入数据库
     *
     * @param newsHeadline 新数据
     * @return
     */
    int addNewsHeadline(NewsHeadline newsHeadline);

    /**
     * 根据hid查询新闻
     *
     * @param hid 新闻id
     * @return
     */
    NewsHeadline findHeadlineByHid(Integer hid);

    /**
     * 更新新闻信息
     *
     * @param newsHeadline 新数据
     * @return
     */
    int updateNewsHeadline(NewsHeadline newsHeadline);

    /**
     * 根据hid删除新闻
     *
     * @param hid 新闻id
     * @return
     */
    int removeByHid(Integer hid);
}
